package com.hcc.repository.gen.metadata;

import com.hcc.repository.core.constants.DbType;
import com.hcc.repository.gen.metadata.dialect.MysqlMetadataQuery;

import java.util.HashMap;
import java.util.Map;

/**
 * MetadataQueryFactory
 *
 * @author hushengjun
 * @date 2023/9/28
 */
public class MetadataQueryFactory {

    private static final Map<DbType, MetadataQuery> metadataQueryMap = new HashMap<>();
    static {
        metadataQueryMap.put(DbType.MYSQL, new MysqlMetadataQuery());
    }

    public static void registerCustomMetadataQuery(MetadataQuery metadataQuery) {
        metadataQueryMap.put(DbType.CUSTOM, metadataQuery);
    }

    public static MetadataQuery getMetadataQuery(DbType dbType) {
        return metadataQueryMap.get(dbType);
    }

}
